package com.ruoyi.resource.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 文件分享对象 res_file_share
 * 
 * @author mohao
 * @date 2023-05-19
 */
public class FileShare extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 文件分享链接 */
    @Excel(name = "文件分享链接")
    private String httpPath;

    /** 提取密码 */
    @Excel(name = "提取密码")
    private String extract;

    /** 分享的用户 */
    @Excel(name = "分享的用户")
    private Long userId;

    /** 下载次数 */
    @Excel(name = "下载次数")
    private Long count;

    /** 文件id */
    @Excel(name = "文件id")
    private Long fileId;

    /** 有效期限 */
    @Excel(name = "有效期限")
    private Long effectiveTime;

    /** 分享时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "分享时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shareTime;

    /** 接收的用户权限 */
    private Long power;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setHttpPath(String httpPath) 
    {
        this.httpPath = httpPath;
    }

    public String getHttpPath() 
    {
        return httpPath;
    }
    public void setExtract(String extract) 
    {
        this.extract = extract;
    }

    public String getExtract() 
    {
        return extract;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setCount(Long count) 
    {
        this.count = count;
    }

    public Long getCount() 
    {
        return count;
    }
    public void setFileId(Long fileId) 
    {
        this.fileId = fileId;
    }

    public Long getFileId() 
    {
        return fileId;
    }
    public void setEffectiveTime(Long effectiveTime) 
    {
        this.effectiveTime = effectiveTime;
    }

    public Long getEffectiveTime() 
    {
        return effectiveTime;
    }
    public void setShareTime(Date shareTime) 
    {
        this.shareTime = shareTime;
    }

    public Date getShareTime() 
    {
        return shareTime;
    }
    public void setPower(Long power) 
    {
        this.power = power;
    }

    public Long getPower() 
    {
        return power;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("httpPath", getHttpPath())
            .append("extract", getExtract())
            .append("userId", getUserId())
            .append("count", getCount())
            .append("fileId", getFileId())
            .append("effectiveTime", getEffectiveTime())
            .append("shareTime", getShareTime())
            .append("power", getPower())
            .toString();
    }
}
